package autoSpring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
 * spring控制反转IOC 与依赖注入DI的练手
 * 要求：
 * 1、新建一个老师Teacher类，有属性String name,char sex,int age
 * 有构造方法与get/set方法  toString()
 * 2、新建接口TeacherDao,里面有一个getTeacher()方法,返回老师对象
 * 3、新建接口实现TeacherDaoI类，实现接口TeacherDao,属性Teacher
 * 有set方法，及重写方法，返回Teacher
 * 4、新建接口TeacherService,里面有一个getTeacher()方法,返回老师对象
 * 5、新建接口实现TeacherServiceI类，实现接口TeacherDao,属性TeacherDao
 * 有set方法，及重写方法，返回Teacher
 * 6、新建类TeacherController,属性TeacherService,有set方法，
 * 还有getTeacher(),返回Teacher.
 * 7、测试类Exercise01，新建一个exercise01.xml的spring配置文件，把
 * 类进行bean管理，实现注入，输出Teacher
 */
public class Exercise01 {
    public static void main(String[] args) {
        //加载spring的配置文件
        ApplicationContext ac = new ClassPathXmlApplicationContext("autoSpring.xml");
        //获取controller
        TeacherController tc = (TeacherController)ac.getBean("sc");
        //方法调用
        Teacher t = tc.getTeacher();
        System.out.println(t);
    }
}
